iT邦幫忙

2021 iThome 鐵人賽

DAY 1
0

前言

剛開始學習在docker架設環境,因此在練習製作image跟container的時候經常漏掉一些設定,仍然反覆的建立container又刪除,這次想透過鐵人賽比較積極(?)的賽程來建立一個適當而且實用的流程來建立想要的環境。

目的&目標

以我個人的使用習慣,過去在建立網頁開發環境的時候會將資料庫(mySQL)、Framework(通常是cakePHP)跟資料庫管理工具(phpMyAdmin)都安裝在同一個虛擬機裡面,在學習docker的時候也這樣建立了container來使用。不過最近在找資料的時候發現docker可以讓container透過設定link的方式來連接,根據說明,linking會在來源端與接收端容器間建立一個隧道,接收端容器可以查看來源端容器的資料。

並且一個父容器可以連接多個子容器,意味著可以將資料庫設置在父容器中,不要設定父容器對外的連接埠,可以保護資料庫裡的資料。

容器互連

就在我覺得聽起來不錯ㄟ——的時候,Docker官方的doc裡面說link的功能最終會被移除QQ……(晴天霹靂),建議使用network功能來使多個容器相連。

因此這三十天希望達到的目標是用network建立以下三個容器的連接:

容器一:資料庫

  • 使用mysql
  • 沒有對外的連接埠

容器二:framework

  • cakePHP or 試試Laravel...
  • 設定對外的連接埠1
  • 可以使用code遠端容器連接

容器三:phpmyadmin

  • 設定對外的連接埠2

基於以上的設定再看有沒有其他需求進行微調。

預計流程是先用基本的容器進行連接,之後再使用docker-compose寫YAML檔的方式建立多容器的環境。

後面有剩餘的天數,則會用來紀錄從零開始學(?)Kubernetes的過程,與docker swarm的比較(或者應該是說是試玩?)


下一篇
[DAY2]建立容器(一)
系列文
Docker、docker-compose、network使用多個容器進行網頁開發13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言